This section is intended to introduce the reader to various aspects of art, which may be related to various aspects of the present invention that are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present invention. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.
In the field of computer systems, it may be desirable for information to be transferred from a system memory associated with one computer system to a system memory associated with another computer system. Queue pairs (“QPs”) may be used to facilitate such a transfer of data. Each QP may include a send queue (“SQ”) and a receive queue (“RQ”) that may be utilized in transferring data from the memory of one device to the memory of another device. The QP may be defined to expose a segment of the memory within the local system to a remote system. Memory windows (“MWs”) may be used to ensure that memory exposed to remote systems may be accessed by designated QPs. Protection domains (“PDs”) may be used to restrict the access to memory windows associated with a designated QP.
Protection domains may be used to ensure that designated memory segments may be accessed by an appropriately authorized QP. In a multi-client single process application a unique protection domain may be given to each client or process. Accordingly, the memory region, QP, and memory window may be assigned to the same protection domain. Thus, a memory region may be registered to each client, which may utilize large mapping infrastructure to correctly associate QPs with their respective memory areas. Performance of these large mappings may utilize resources and be expensive to maintain.